As conventional art, there is a technology in which stereoscopic display is performed using an image for a left eye and an image for a right eye between which a disparity is provided. For example, a certain literature discloses a technology in which images of a virtual three-dimensional space are taken with virtual cameras to generate an image for a left eye and an image for a right eye, and the virtual three-dimensional space is stereoscopically displayed using these images.
According to the above conventional technology, when an object located in the virtual three-dimensional space is closer to the virtual cameras than a predetermined position, the object is displayed so as to be viewed as if projecting from a display surface toward the viewer. When the object is farther from the virtual cameras than the predetermined position, the object is displayed so as to be viewed as if being recessed from the display surface. With regard to an object close to the virtual cameras, it may be difficult to view the object due to a great disparity between an image for a left eye and an image for a right eye.
Therefore, a feature of certain exemplary embodiments is to provide an image processing system and the like which implement stereoscopic display that is easily viewed.
Certain exemplary embodiments can have, for example, the following aspects to attain the feature mentioned above.
An aspect of certain exemplary embodiments is directed to an image processing system for generating a stereoscopic image that is stereoscopically visible. The image processing system includes stereoscopic image generator and display controller. The stereoscopic image generator is configured to take images of a virtual three-dimensional space in which an object is located, with a virtual camera, and to generate a stereoscopic image that is composed of an image for a left eye and an image for a right eye between which a disparity is provided. The display controller is configured to cause a display section to display the stereoscopic image generated by the stereoscopic image generator. In generating the stereoscopic image, the stereoscopic image generator performing correction of decreasing a disparity of the object.
According to this configuration, correction for alleviating the degree of projection of a viewed object that is stereoscopically displayed on the display section can be performed. Thus, stereoscopic display that is easily viewed by a user can be implemented.
Further, in generating the stereoscopic image, the stereoscopic image generator may perform correction of decreasing a disparity of an object in accordance with a distance from the virtual camera to the object.
According to this configuration, the degree of projection of the object can be alleviated in accordance with a distance from the virtual camera to the object.
Further, in generating the stereoscopic image, the stereoscopic image generator may perform correction of more greatly decreasing the disparity of the object when the distance from the virtual camera to the object is shorter.
According to this configuration, for objects stereoscopically displayed on the display section, the degree of projection of an object that greatly projects to such an extent that it is difficult for a user to view the object can greatly be alleviated.
Further, in generating the stereoscopic image, the stereoscopic image generator may perform the correction such that a disparity of an object closer to the virtual camera is larger.
According to this configuration, when the degree of projection of a plurality of objects is alleviated, the positional relation among each object in the depth direction can be maintained normal. In addition, when one object is displayed so as to project toward the user, the object is not viewed so as to instantaneously and slightly return, and a manner of movement of the object becomes natural.
Further, in generating the stereoscopic image, the stereoscopic image generator may perform correction of moving a position of the object in the image for a left eye in a leftward direction as seen from a user, and/or may perform correction of moving a position of the object in the image for a right eye in a rightward direction as seen from the user, thereby performing correction of decreasing the disparity of the object.
According to this configuration, correction for alleviating the degree of projection of a viewed object that is stereoscopically displayed on the display section can be performed.
Further, in generating the stereoscopic image, by using a left virtual camera for taking the image for a left eye, a right virtual camera for taking the image for a right eye, and an intermediate virtual camera located between the left virtual camera and the right virtual camera, the stereoscopic image generator may perform correction of adjusting a position of an object in the image for a left eye such that the position is located between a position based on the left virtual camera and a position based on the intermediate virtual camera, and/or may perform correction of adjusting a position of the object in the image for a right eye such that the position is located between a position based on the right virtual camera and the position based on the intermediate virtual camera, thereby performing correction of decreasing the disparity of the object.
According to this configuration, correction for alleviating the degree of projection of a viewed object can be implemented by performing the correction process using the intermediate virtual camera.
Further, in generating the stereoscopic image, the stereoscopic image generator may perform correction of adjusting the position of the object in the image for a left eye such that the position is an interpolation position obtained by interpolating the position based on the left virtual camera and the position based on the intermediate virtual camera in accordance with distances from both virtual cameras to the object, and/or may perform correction of adjusting the position of the object in the image for a right eye such that the position is an interpolation position obtained by interpolating the position based on the right virtual camera and the position based on the intermediate virtual camera in accordance with distances from both virtual cameras to the object, thereby performing correction of decreasing the disparity of the object.
According to this configuration, correction for alleviating the degree of projection of a viewed object in accordance with a distance from the virtual camera to the object can be implemented by performing the correction process using the intermediate virtual camera.
Further, in generating the stereoscopic image, the stereoscopic image generator may render the object with the virtual camera after a relative position of the object with respect to the virtual camera is corrected, thereby performing correction of decreasing the disparity of the object.
According to this configuration, correction for alleviating the degree of projection of a viewed object can be performed by correcting a relative position of the object with respect to the virtual camera.
Further, in generating the stereoscopic image, the stereoscopic image generator may render the object with the virtual camera after a position of the object in a view coordinate system of the virtual camera is corrected, thereby performing correction of decreasing the disparity of the object.
According to this configuration, in the process of rendering the object with the virtual camera, the position of the object in the view coordinate system is corrected after coordinate transformation is performed from a world coordinate system into the view coordinate system of the virtual camera. Thus, correction for alleviating the degree of projection of a viewed object located in a world space can be implemented without moving the position of the object (or its vertex).
Further, in generating the stereoscopic image, the stereoscopic image generator may render the object with the virtual camera after the relative position of the object with respect to the virtual camera is corrected only in a right-left direction as seen from the virtual camera, thereby performing correction of decreasing the disparity of the object.
According to this configuration, a process of moving the relative position of the object with respect to the virtual camera in the depth direction and the up-down direction as seen from the virtual camera, does not have to be performed. Thus, a processing load for performing the correction of decreasing the disparity of the object can be reduced.
Further, in generating the stereoscopic image, the stereoscopic image generator may render the object with a left virtual camera and a right virtual camera after at least either one of a relative position of the object with respect to the left virtual camera or a relative position of the object with respect to the right virtual camera is corrected, thereby performing correction of decreasing the disparity of the object.
According to this configuration, the disparity of the object can be decreased by correcting at least either one of the relative position of the object with respect to the left virtual camera or the relative position of the object with respect to the right virtual camera. Thus, a processing load for performing the correction of decreasing the disparity of the object can be reduced.
Further, a direction of correction of the relative position of the object with respect to the left virtual camera may be different from a direction of correction of the relative position of the object with respect to the right virtual camera.
According to this configuration, correction for alleviating the degree of projection of a viewed object that is stereoscopically displayed on the display section can be performed.
Further, in generating the stereoscopic image, the stereoscopic image generator may temporarily correct the relative position of the object with respect to the virtual camera for rendering the object with the virtual camera, and may perform correction of decreasing the disparity of the object.
According to this configuration, correction for alleviating the degree of projection of a viewed object located in a world space can be implemented without moving the position of the object (or its vertex).
Further, in generating the stereoscopic image, by using a left virtual camera for taking the image for a left eye, a right virtual camera for taking the image for a right eye, and an intermediate virtual camera located between the left virtual camera and the right virtual camera, when generating the image for a left eye, the stereoscopic image generator may interpolate a relative position of an object with respect to the left virtual camera and a relative position of the object with respect to the intermediate virtual camera in accordance with distances from both virtual cameras to the object to calculate an interpolation position, and may render the object with the left virtual camera using the interpolation position, and/or when generating the image for a right eye, the stereoscopic image generator may interpolate a relative position of the object with respect to the right virtual camera and the relative position of the object with respect to the intermediate virtual camera in accordance with distances from both virtual cameras to the object to calculate an interpolation position, and may render the object with the right virtual camera using the interpolation position, thereby performing correction of decreasing the disparity of the object.
According to this configuration, by performing the interpolation, the disparity between the object in the image for a left eye and the object in the image for a right eye can be corrected so as to be decreased. In addition, in the interpolation, the interpolation position is calculated in accordance with the distance from the virtual camera to the object in the virtual three-dimensional space, thereby setting a decrease amount of the disparity in accordance with the distance to the object.
Further, when generating the image for a left eye, the stereoscopic image generator may interpolate a relative coordinate of each vertex of an object with respect to the left virtual camera and a relative coordinate of each vertex of the object with respect to the intermediate virtual camera in accordance with distances from both virtual cameras to each vertex to calculate an interpolation coordinate, and may render each vertex with the left virtual camera using the interpolation coordinate, and/or when generating the image for a right eye, the stereoscopic image generator may interpolate a relative coordinate of each vertex of the object with respect to the right virtual camera and the relative coordinate of each vertex of the object with respect to the intermediate virtual camera in accordance with distances from both virtual cameras to each vertex to calculate an interpolation coordinate, and may render each vertex with the right virtual camera using the interpolation coordinate, thereby performing correction of decreasing a disparity of each vertex of the object.
According to this configuration, correction for alleviating a disparity is performed on each vertex constituting an object. Thus, for example, even when a large object (an object having a large depth) is displayed so as to greatly project, natural correction can be performed.
Further, in generating the stereoscopic image, the stereoscopic image generator may perform correction of decreasing a disparity of each vertex constituting an object, in accordance with a distance from the virtual camera to each vertex.
According to this configuration, correction for alleviating a disparity is performed on each vertex constituting an object. Thus, for example, even when a large object (an object having a large depth) is displayed so as to greatly project, natural correction can be performed.
Further, in generating the stereoscopic image, the stereoscopic image generator may not decrease a disparity of an object any more when a distance from the virtual camera to the object is shorter than a predetermined distance.
According to this configuration, since the predetermined distance is provided, a correction amount (decrease amount) of the disparity can be prevented from being very large. Thus, when the degree of projection of a plurality of objects is alleviated, the positional relation among each object in the depth direction can be maintained normal.
Further, in generating the stereoscopic image, the stereoscopic image generator may not perform correction of decreasing a disparity of an object when a distance from the virtual camera to the object is longer than a predetermined distance.
According to this configuration, the correction is not performed on an object located at a position (depth) where the correction does not have to be performed. Thus, a load of image processing can be reduced.
Further, in generating the stereoscopic image, the stereoscopic image generator may perform the correction only on an object that is a correction target.
According to this configuration, it can be set whether or not to perform the correction on each object. Thus, the correction can be prevented from being performed on an object for which the correction is unnecessary (the necessity of the correction is low) (e.g., a hardly-noticeable object). As a result, a load of image processing can be reduced.
In the above description, certain exemplary embodiments are configured as an image processing system. However, certain exemplary embodiments may be configured as an image processing program, an image processing method, or an image processing apparatus. In addition, certain exemplary embodiments may be configured as a computer-readable storage medium having the image processing program stored therein.
According to certain exemplary embodiments, an image processing system and the like which implement stereoscopic display that is easily viewed can be provided.
These and other objects, features, aspects and advantages of certain exemplary embodiments will become more apparent from the following detailed description of certain exemplary embodiments when taken in conjunction with the accompanying drawings.